package init

import (
	"context"
	"fmt"
	"github.com/go-redis/redis/v8"
	"house-src/basic/config"
	"log"
	"sync"
)

var Ctx = context.Background()

func RedisInit() {
	//单例模式
	var once sync.Once

	once.Do(func() {

		config.Rdb = redis.NewClient(&redis.Options{
			Addr:     fmt.Sprintf("%s:%d", config.AppConf.Redis.Host, config.AppConf.Redis.Port),
			Password: config.AppConf.Redis.Password, // no password set
			DB:       config.AppConf.Redis.Database, // use default DB
		})

		err := config.Rdb.Set(Ctx, "key", "value", 0).Err()
		if err != nil {
			panic(err)
			return
		}
		log.Println("Redis init success")
	})

}
